How has the COVID-19 lockdown impacted landings in the Pacific Canada groundfish fishery?

B. Connors and L. Lacko

Quantitative Assessment Methods Section, Pacific Region, DFO

2020-08-14

This document briefly describes analyses of COVID-19 associated change in landings in the integrated groundfish fishery in Pacific Canada.

Data for these analyses were queried from GFFOS, a groundfsh-specific view of the Pacific Regional Fishery Operations System (FOS) database. Groundfish fisheries include the directed Rockfish, Spiny Dogfish, Lingcod, Halibut, Sablefish, and Trawl fisheries in Pacific waters (Figure 1). Official catch estimates were derived from the ratio of total weight landed from the dockside monitoring program (DMP) to the total of all retained catch weights from the logbook program.

All code and associated data to reproduce this document can be found on Github here.

Figure 1. Pacific Canada Fishery Management Areas.

1. Load required packages and landings and effort data
library(tidyverse)
library(dplyr)
library(ggsidekick)
library(rstanarm) 
library(lme4)

catch_effort <- read.csv("CatchByMonthGear.csv")
catch_effort$log_land <- log(catch_effort$landed_kg)
catch_effort$month <- as.factor(catch_effort$month)
catch_effort$month_n <- as.numeric(catch_effort$month)
2. What do landings (in kg) look like by species (top 20 by weight)?
landed_spp <- catch_effort %>%
  group_by(SPECIES_COMMON_NAME) %>%
  dplyr::summarise(landings = sum(landed_kg))%>%
  arrange(desc(landings))%>%
  as.data.frame()

landed_spp[1:20,]
##                       SPECIES_COMMON_NAME  landings
## 1                            PACIFIC HAKE 635112083
## 2                     ARROWTOOTH FLOUNDER  80057280
## 3                         WALLEYE POLLOCK  42660268
## 4                     YELLOWTAIL ROCKFISH  36644981
## 5                     PACIFIC OCEAN PERCH  36439309
## 6                         PACIFIC HALIBUT  33903552
## 7                               SABLEFISH  20220532
## 8                          WIDOW ROCKFISH  18045929
## 9                              DOVER SOLE  14638035
## 10                    SILVERGRAY ROCKFISH  14112718
## 11                                LINGCOD  12793192
## 12                   YELLOWMOUTH ROCKFISH  11776823
## 13                            PACIFIC COD   9548460
## 14 ROUGHEYE/BLACKSPOTTED ROCKFISH COMPLEX   7890286
## 15                        CANARY ROCKFISH   7553248
## 16                     REDSTRIPE ROCKFISH   6285564
## 17                           PETRALE SOLE   6032077
## 18                           ENGLISH SOLE   5396784
## 19                     SOUTHERN ROCK SOLE   5034459
## 20                              BIG SKATE   3837136

Wow that is a lot of Hake fish fingers.

3. What do landings look like by month over time?
agg_landed_spp <- catch_effort %>%
  group_by(year, month) %>%
  summarise(landings = sum(landed_kg), n = n())%>%
  as.data.frame()

ggplot(agg_landed_spp, aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek() 

Landings clearly vary over the course of the year with peak landings typically occurring over the summer. There is no uber obvious decline in landings in the spring/summer of 2020 coincident with COVID (note that landings in July should be interpreted with caution due to potentially incomplete reporting). But landings are dominated by Hake, so let’s look at a few of the most commonly landed species individually.

4. What do species specific landings look like over time?
ind_landed_spp <- catch_effort %>%
  group_by(year, month,SPECIES_COMMON_NAME) %>%
  summarise(landings = sum(landed_kg))%>%
  as.data.frame()

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="PACIFIC HAKE",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Hake")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="ARROWTOOTH FLOUNDER",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Arrowtooth")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="WALLEYE POLLOCK",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Pollock")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="YELLOWTAIL ROCKFISH",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Yellowtail")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="PACIFIC OCEAN PERCH",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Perch")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="PACIFIC HALIBUT",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Halibut")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="SABLEFISH",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Sablefish")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="DOVER SOLE",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Dover sole")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="WIDOW ROCKFISH",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Widow rockfish")

No super obvious COVID associated reduction in landings jump out from these figures, but if your squint it looks like landings of Halibut, Sablefish and Lingcod are down a bit since beginning of COVID.

Let’s actually test for a COVID “effect”.

5. Test for a COVID lockdown effect on landings

We can test for a COVID lockdown effect on landings by fitting a linear mixed effects model of (log) landings as a function of gear type (landings vary by gear type), and whether or not landings occurred during the COVID lockdown. In this case I have subsetted the data to only consider the top ten species in landings, and to only consider the same period of time each year (March to June, inclusive), so in effect we are asking: “Were landings different in 2020 than they were during the same time periods during the previous 10 years?”"

I specified year and species as random effects (random intercepts; i.e., landings vary by year and species) and also allowed the COVID effect to vary by species (random slope). I fit this model in a Bayesian estimation framework using STAN so as to deal with singularity issues (over fitting?) when fit in a Maximum Likelihood framework, plus we can get a full posterior distribution for the random effects. There are admittedly many other ways to think about testing for a COVID effect, this is just a very simple first pass.

Here is a call to fit the model and then summary of model fit.

covid_model <- stan_lmer(log(landed_kg) ~ 0 + gear + covid + (1|year) + (covid|SPECIES_COMMON_NAME), 
                         data = covid_period)
## 
## SAMPLING FOR MODEL 'continuous' NOW (CHAIN 1).
## Chain 1: 
## Chain 1: Gradient evaluation took 0 seconds
## Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0 seconds.
## Chain 1: Adjust your expectations accordingly!
## Chain 1: 
## Chain 1: 
## Chain 1: Iteration:    1 / 2000 [  0%]  (Warmup)
## Chain 1: Iteration:  200 / 2000 [ 10%]  (Warmup)
## Chain 1: Iteration:  400 / 2000 [ 20%]  (Warmup)
## Chain 1: Iteration:  600 / 2000 [ 30%]  (Warmup)
## Chain 1: Iteration:  800 / 2000 [ 40%]  (Warmup)
## Chain 1: Iteration: 1000 / 2000 [ 50%]  (Warmup)
## Chain 1: Iteration: 1001 / 2000 [ 50%]  (Sampling)
## Chain 1: Iteration: 1200 / 2000 [ 60%]  (Sampling)
## Chain 1: Iteration: 1400 / 2000 [ 70%]  (Sampling)
## Chain 1: Iteration: 1600 / 2000 [ 80%]  (Sampling)
## Chain 1: Iteration: 1800 / 2000 [ 90%]  (Sampling)
## Chain 1: Iteration: 2000 / 2000 [100%]  (Sampling)
## Chain 1: 
## Chain 1:  Elapsed Time: 2.454 seconds (Warm-up)
## Chain 1:                1.57 seconds (Sampling)
## Chain 1:                4.024 seconds (Total)
## Chain 1: 
## 
## SAMPLING FOR MODEL 'continuous' NOW (CHAIN 2).
## Chain 2: 
## Chain 2: Gradient evaluation took 0 seconds
## Chain 2: 1000 transitions using 10 leapfrog steps per transition would take 0 seconds.
## Chain 2: Adjust your expectations accordingly!
## Chain 2: 
## Chain 2: 
## Chain 2: Iteration:    1 / 2000 [  0%]  (Warmup)
## Chain 2: Iteration:  200 / 2000 [ 10%]  (Warmup)
## Chain 2: Iteration:  400 / 2000 [ 20%]  (Warmup)
## Chain 2: Iteration:  600 / 2000 [ 30%]  (Warmup)
## Chain 2: Iteration:  800 / 2000 [ 40%]  (Warmup)
## Chain 2: Iteration: 1000 / 2000 [ 50%]  (Warmup)
## Chain 2: Iteration: 1001 / 2000 [ 50%]  (Sampling)
## Chain 2: Iteration: 1200 / 2000 [ 60%]  (Sampling)
## Chain 2: Iteration: 1400 / 2000 [ 70%]  (Sampling)
## Chain 2: Iteration: 1600 / 2000 [ 80%]  (Sampling)
## Chain 2: Iteration: 1800 / 2000 [ 90%]  (Sampling)
## Chain 2: Iteration: 2000 / 2000 [100%]  (Sampling)
## Chain 2: 
## Chain 2:  Elapsed Time: 2.52 seconds (Warm-up)
## Chain 2:                1.643 seconds (Sampling)
## Chain 2:                4.163 seconds (Total)
## Chain 2: 
## 
## SAMPLING FOR MODEL 'continuous' NOW (CHAIN 3).
## Chain 3: 
## Chain 3: Gradient evaluation took 0 seconds
## Chain 3: 1000 transitions using 10 leapfrog steps per transition would take 0 seconds.
## Chain 3: Adjust your expectations accordingly!
## Chain 3: 
## Chain 3: 
## Chain 3: Iteration:    1 / 2000 [  0%]  (Warmup)
## Chain 3: Iteration:  200 / 2000 [ 10%]  (Warmup)
## Chain 3: Iteration:  400 / 2000 [ 20%]  (Warmup)
## Chain 3: Iteration:  600 / 2000 [ 30%]  (Warmup)
## Chain 3: Iteration:  800 / 2000 [ 40%]  (Warmup)
## Chain 3: Iteration: 1000 / 2000 [ 50%]  (Warmup)
## Chain 3: Iteration: 1001 / 2000 [ 50%]  (Sampling)
## Chain 3: Iteration: 1200 / 2000 [ 60%]  (Sampling)
## Chain 3: Iteration: 1400 / 2000 [ 70%]  (Sampling)
## Chain 3: Iteration: 1600 / 2000 [ 80%]  (Sampling)
## Chain 3: Iteration: 1800 / 2000 [ 90%]  (Sampling)
## Chain 3: Iteration: 2000 / 2000 [100%]  (Sampling)
## Chain 3: 
## Chain 3:  Elapsed Time: 1.975 seconds (Warm-up)
## Chain 3:                1.669 seconds (Sampling)
## Chain 3:                3.644 seconds (Total)
## Chain 3: 
## 
## SAMPLING FOR MODEL 'continuous' NOW (CHAIN 4).
## Chain 4: 
## Chain 4: Gradient evaluation took 0 seconds
## Chain 4: 1000 transitions using 10 leapfrog steps per transition would take 0 seconds.
## Chain 4: Adjust your expectations accordingly!
## Chain 4: 
## Chain 4: 
## Chain 4: Iteration:    1 / 2000 [  0%]  (Warmup)
## Chain 4: Iteration:  200 / 2000 [ 10%]  (Warmup)
## Chain 4: Iteration:  400 / 2000 [ 20%]  (Warmup)
## Chain 4: Iteration:  600 / 2000 [ 30%]  (Warmup)
## Chain 4: Iteration:  800 / 2000 [ 40%]  (Warmup)
## Chain 4: Iteration: 1000 / 2000 [ 50%]  (Warmup)
## Chain 4: Iteration: 1001 / 2000 [ 50%]  (Sampling)
## Chain 4: Iteration: 1200 / 2000 [ 60%]  (Sampling)
## Chain 4: Iteration: 1400 / 2000 [ 70%]  (Sampling)
## Chain 4: Iteration: 1600 / 2000 [ 80%]  (Sampling)
## Chain 4: Iteration: 1800 / 2000 [ 90%]  (Sampling)
## Chain 4: Iteration: 2000 / 2000 [100%]  (Sampling)
## Chain 4: 
## Chain 4:  Elapsed Time: 2.586 seconds (Warm-up)
## Chain 4:                1.779 seconds (Sampling)
## Chain 4:                4.365 seconds (Total)
## Chain 4:
summary(covid_model) 
## 
## Model Info:
## 
##  function:     stan_lmer
##  family:       gaussian [identity]
##  formula:      log(landed_kg) ~ 0 + gear + covid + (1 | year) + (covid | SPECIES_COMMON_NAME)
##  algorithm:    sampling
##  priors:       see help('prior_summary')
##  sample:       4000 (posterior sample size)
##  observations: 146
##  groups:       year (10), SPECIES_COMMON_NAME (10)
## 
## Estimates:
##                                                          mean   sd     2.5%
## gearBOTTOM TRAWL                                         10.4    0.7    8.9
## gearHOOK AND LINE                                         6.7    0.8    5.3
## gearMIDWATER TRAWL                                        9.4    0.7    8.0
## gearTRAP                                                  8.3    1.4    5.6
## gearUNSPECIFIED                                           4.6    1.0    2.7
## covid                                                     0.2    1.3   -2.3
## b[(Intercept) year:2011]                                  0.1    0.5   -0.8
## b[(Intercept) year:2012]                                  0.2    0.5   -0.7
## b[(Intercept) year:2013]                                 -0.1    0.5   -1.3
## b[(Intercept) year:2014]                                  0.0    0.5   -1.0
## b[(Intercept) year:2015]                                  0.5    0.6   -0.4
## b[(Intercept) year:2016]                                 -0.3    0.5   -1.6
## b[(Intercept) year:2017]                                 -0.3    0.5   -1.4
## b[(Intercept) year:2018]                                  0.2    0.6   -0.8
## b[(Intercept) year:2019]                                 -0.2    0.6   -1.5
## b[(Intercept) year:2020]                                  0.0    0.7   -1.5
## b[(Intercept) SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER]   -0.4    0.7   -1.7
## b[covid SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER]         -0.4    1.0   -2.9
## b[(Intercept) SPECIES_COMMON_NAME:DOVER_SOLE]            -0.7    0.9   -2.6
## b[covid SPECIES_COMMON_NAME:DOVER_SOLE]                   0.3    1.1   -1.7
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HAKE]           1.7    1.2   -0.1
## b[covid SPECIES_COMMON_NAME:PACIFIC_HAKE]                 0.0    1.4   -2.9
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HALIBUT]       -0.2    0.7   -1.7
## b[covid SPECIES_COMMON_NAME:PACIFIC_HALIBUT]              0.6    1.2   -1.1
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH]    0.0    0.7   -1.4
## b[covid SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH]          0.0    1.2   -2.3
## b[(Intercept) SPECIES_COMMON_NAME:SABLEFISH]              0.4    0.8   -0.9
## b[covid SPECIES_COMMON_NAME:SABLEFISH]                    0.1    0.9   -2.0
## b[(Intercept) SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH]    0.6    0.7   -0.7
## b[covid SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH]         -0.2    1.1   -2.9
## b[(Intercept) SPECIES_COMMON_NAME:WALLEYE_POLLOCK]       -0.5    0.9   -2.6
## b[covid SPECIES_COMMON_NAME:WALLEYE_POLLOCK]             -0.1    1.0   -2.3
## b[(Intercept) SPECIES_COMMON_NAME:WIDOW_ROCKFISH]        -0.6    0.8   -2.4
## b[covid SPECIES_COMMON_NAME:WIDOW_ROCKFISH]               0.0    1.0   -2.1
## b[(Intercept) SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH]    0.4    0.8   -0.9
## b[covid SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH]         -0.3    1.1   -2.9
## sigma                                                     3.2    0.2    2.9
## Sigma[year:(Intercept),(Intercept)]                       0.5    0.7    0.0
## Sigma[SPECIES_COMMON_NAME:(Intercept),(Intercept)]        1.4    1.5    0.0
## Sigma[SPECIES_COMMON_NAME:covid,(Intercept)]             -0.2    1.1   -2.7
## Sigma[SPECIES_COMMON_NAME:covid,covid]                    1.6    2.9    0.0
## mean_PPD                                                  8.6    0.4    7.9
## log-posterior                                          -442.7    6.5 -456.1
##                                                          25%    50%    75% 
## gearBOTTOM TRAWL                                          9.9   10.4   10.8
## gearHOOK AND LINE                                         6.2    6.7    7.2
## gearMIDWATER TRAWL                                        9.0    9.4    9.9
## gearTRAP                                                  7.3    8.3    9.2
## gearUNSPECIFIED                                           4.0    4.6    5.3
## covid                                                    -0.6    0.2    1.0
## b[(Intercept) year:2011]                                 -0.1    0.1    0.4
## b[(Intercept) year:2012]                                 -0.1    0.1    0.5
## b[(Intercept) year:2013]                                 -0.4   -0.1    0.1
## b[(Intercept) year:2014]                                 -0.2    0.0    0.2
## b[(Intercept) year:2015]                                  0.0    0.3    0.8
## b[(Intercept) year:2016]                                 -0.6   -0.2    0.0
## b[(Intercept) year:2017]                                 -0.5   -0.2    0.0
## b[(Intercept) year:2018]                                 -0.1    0.1    0.5
## b[(Intercept) year:2019]                                 -0.5   -0.1    0.1
## b[(Intercept) year:2020]                                 -0.3    0.0    0.3
## b[(Intercept) SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER]   -0.8   -0.3    0.0
## b[covid SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER]         -0.8   -0.2    0.1
## b[(Intercept) SPECIES_COMMON_NAME:DOVER_SOLE]            -1.2   -0.6    0.0
## b[covid SPECIES_COMMON_NAME:DOVER_SOLE]                  -0.2    0.1    0.7
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HAKE]           0.8    1.6    2.4
## b[covid SPECIES_COMMON_NAME:PACIFIC_HAKE]                -0.6    0.0    0.7
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HALIBUT]       -0.6   -0.1    0.3
## b[covid SPECIES_COMMON_NAME:PACIFIC_HALIBUT]             -0.1    0.2    1.0
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH]   -0.4    0.0    0.4
## b[covid SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH]         -0.4    0.0    0.4
## b[(Intercept) SPECIES_COMMON_NAME:SABLEFISH]              0.0    0.3    0.9
## b[covid SPECIES_COMMON_NAME:SABLEFISH]                   -0.4    0.0    0.5
## b[(Intercept) SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH]    0.0    0.5    1.0
## b[covid SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH]         -0.6   -0.1    0.3
## b[(Intercept) SPECIES_COMMON_NAME:WALLEYE_POLLOCK]       -1.0   -0.3    0.1
## b[covid SPECIES_COMMON_NAME:WALLEYE_POLLOCK]             -0.5    0.0    0.4
## b[(Intercept) SPECIES_COMMON_NAME:WIDOW_ROCKFISH]        -1.0   -0.4    0.0
## b[covid SPECIES_COMMON_NAME:WIDOW_ROCKFISH]              -0.4    0.0    0.4
## b[(Intercept) SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH]   -0.1    0.3    0.8
## b[covid SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH]         -0.7   -0.1    0.2
## sigma                                                     3.1    3.2    3.4
## Sigma[year:(Intercept),(Intercept)]                       0.1    0.3    0.6
## Sigma[SPECIES_COMMON_NAME:(Intercept),(Intercept)]        0.4    1.0    1.8
## Sigma[SPECIES_COMMON_NAME:covid,(Intercept)]             -0.4    0.0    0.2
## Sigma[SPECIES_COMMON_NAME:covid,covid]                    0.2    0.7    1.9
## mean_PPD                                                  8.4    8.6    8.9
## log-posterior                                          -447.0 -442.3 -438.1
##                                                          97.5%
## gearBOTTOM TRAWL                                         11.7 
## gearHOOK AND LINE                                         8.2 
## gearMIDWATER TRAWL                                       10.8 
## gearTRAP                                                 10.9 
## gearUNSPECIFIED                                           6.5 
## covid                                                     2.7 
## b[(Intercept) year:2011]                                  1.2 
## b[(Intercept) year:2012]                                  1.4 
## b[(Intercept) year:2013]                                  1.0 
## b[(Intercept) year:2014]                                  1.1 
## b[(Intercept) year:2015]                                  2.0 
## b[(Intercept) year:2016]                                  0.6 
## b[(Intercept) year:2017]                                  0.6 
## b[(Intercept) year:2018]                                  1.7 
## b[(Intercept) year:2019]                                  0.8 
## b[(Intercept) year:2020]                                  1.6 
## b[(Intercept) SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER]    0.9 
## b[covid SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER]          1.2 
## b[(Intercept) SPECIES_COMMON_NAME:DOVER_SOLE]             0.7 
## b[covid SPECIES_COMMON_NAME:DOVER_SOLE]                   3.0 
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HAKE]           4.2 
## b[covid SPECIES_COMMON_NAME:PACIFIC_HAKE]                 3.0 
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HALIBUT]        1.3 
## b[covid SPECIES_COMMON_NAME:PACIFIC_HALIBUT]              4.0 
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH]    1.4 
## b[covid SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH]          2.6 
## b[(Intercept) SPECIES_COMMON_NAME:SABLEFISH]              2.1 
## b[covid SPECIES_COMMON_NAME:SABLEFISH]                    2.1 
## b[(Intercept) SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH]    2.2 
## b[covid SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH]          1.8 
## b[(Intercept) SPECIES_COMMON_NAME:WALLEYE_POLLOCK]        1.2 
## b[covid SPECIES_COMMON_NAME:WALLEYE_POLLOCK]              1.9 
## b[(Intercept) SPECIES_COMMON_NAME:WIDOW_ROCKFISH]         0.9 
## b[covid SPECIES_COMMON_NAME:WIDOW_ROCKFISH]               2.0 
## b[(Intercept) SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH]    2.2 
## b[covid SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH]          1.6 
## sigma                                                     3.7 
## Sigma[year:(Intercept),(Intercept)]                       2.5 
## Sigma[SPECIES_COMMON_NAME:(Intercept),(Intercept)]        5.3 
## Sigma[SPECIES_COMMON_NAME:covid,(Intercept)]              1.6 
## Sigma[SPECIES_COMMON_NAME:covid,covid]                    9.1 
## mean_PPD                                                  9.4 
## log-posterior                                          -431.0 
## 
## Diagnostics:
##                                                        mcse Rhat n_eff
## gearBOTTOM TRAWL                                       0.0  1.0  2174 
## gearHOOK AND LINE                                      0.0  1.0  2271 
## gearMIDWATER TRAWL                                     0.0  1.0  1875 
## gearTRAP                                               0.0  1.0  4141 
## gearUNSPECIFIED                                        0.0  1.0  3296 
## covid                                                  0.0  1.0  3232 
## b[(Intercept) year:2011]                               0.0  1.0  5086 
## b[(Intercept) year:2012]                               0.0  1.0  3907 
## b[(Intercept) year:2013]                               0.0  1.0  4538 
## b[(Intercept) year:2014]                               0.0  1.0  5058 
## b[(Intercept) year:2015]                               0.0  1.0  2914 
## b[(Intercept) year:2016]                               0.0  1.0  3459 
## b[(Intercept) year:2017]                               0.0  1.0  3582 
## b[(Intercept) year:2018]                               0.0  1.0  4654 
## b[(Intercept) year:2019]                               0.0  1.0  3794 
## b[(Intercept) year:2020]                               0.0  1.0  3769 
## b[(Intercept) SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER] 0.0  1.0  2293 
## b[covid SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER]       0.0  1.0  3981 
## b[(Intercept) SPECIES_COMMON_NAME:DOVER_SOLE]          0.0  1.0  3097 
## b[covid SPECIES_COMMON_NAME:DOVER_SOLE]                0.0  1.0  3416 
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HAKE]        0.0  1.0  1144 
## b[covid SPECIES_COMMON_NAME:PACIFIC_HAKE]              0.0  1.0  4476 
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HALIBUT]     0.0  1.0  3611 
## b[covid SPECIES_COMMON_NAME:PACIFIC_HALIBUT]           0.0  1.0  2636 
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH] 0.0  1.0  3076 
## b[covid SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH]       0.0  1.0  3593 
## b[(Intercept) SPECIES_COMMON_NAME:SABLEFISH]           0.0  1.0  2067 
## b[covid SPECIES_COMMON_NAME:SABLEFISH]                 0.0  1.0  4548 
## b[(Intercept) SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH] 0.0  1.0  1796 
## b[covid SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH]       0.0  1.0  3439 
## b[(Intercept) SPECIES_COMMON_NAME:WALLEYE_POLLOCK]     0.0  1.0  3840 
## b[covid SPECIES_COMMON_NAME:WALLEYE_POLLOCK]           0.0  1.0  3574 
## b[(Intercept) SPECIES_COMMON_NAME:WIDOW_ROCKFISH]      0.0  1.0  3261 
## b[covid SPECIES_COMMON_NAME:WIDOW_ROCKFISH]            0.0  1.0  4212 
## b[(Intercept) SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH] 0.0  1.0  2463 
## b[covid SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH]       0.0  1.0  3341 
## sigma                                                  0.0  1.0  3905 
## Sigma[year:(Intercept),(Intercept)]                    0.0  1.0  2025 
## Sigma[SPECIES_COMMON_NAME:(Intercept),(Intercept)]     0.0  1.0  1188 
## Sigma[SPECIES_COMMON_NAME:covid,(Intercept)]           0.0  1.0  3356 
## Sigma[SPECIES_COMMON_NAME:covid,covid]                 0.1  1.0  2130 
## mean_PPD                                               0.0  1.0  4486 
## log-posterior                                          0.2  1.0   892 
## 
## For each parameter, mcse is Monte Carlo standard error, n_eff is a crude measure of effective sample size, and Rhat is the potential scale reduction factor on split chains (at convergence Rhat=1).

This summary output (sorry pretty ugly/volumous printout…) suggests that on average across species (log) landings were lower during the COVID lockdown (see coefficient for “covid” above) than would otherwise have been expected based on history of landings by gear type over the past decade. But this COVID effect is highly uncertain and not “significant” at a 95% credible interval level. Nonetheless, we can calculate the predicted percent change in landings associated with the COVID lockdown as (exp(covid coefficient)-1)*100 which gives a median of a 63% decline in landings (-98% to +897%; 95% credible intervals). I would interpret this as a lack of evidence for a COVID lockdown effect on groundfish landings inthe Pacific Region.

We can also look at the species specific covid coefficients (random effects on slope) to see which species exhibited the largest reductions in landings coincident with the COVID lockdown. For example, the Halibut specific covid coefficient is equal to -2.9 which translates into a median decline of 95% decline in landings (-99% to +171%; 95% credible intervals).

If we want a t-statistic associated with the COVID “effect” then we can also fit the model in a Maximum Likelihood framework using lmer. Looks like there are no singularity issues and covid coefficients are very similar to model above.

covid_model <- lmer(log(landed_kg)~0+gear+covid+(1|year)+(covid|SPECIES_COMMON_NAME), data = covid_period)
## boundary (singular) fit: see ?isSingular
summary(covid_model) 
## Linear mixed model fit by REML ['lmerMod']
## Formula: 
## log(landed_kg) ~ 0 + gear + covid + (1 | year) + (covid | SPECIES_COMMON_NAME)
##    Data: covid_period
## 
## REML criterion at convergence: 752.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.4196 -0.7629  0.1638  0.6934  1.9580 
## 
## Random effects:
##  Groups              Name        Variance Std.Dev. Corr 
##  year                (Intercept)  0.13998 0.3741        
##  SPECIES_COMMON_NAME (Intercept)  1.28190 1.1322        
##                      covid        0.04432 0.2105   -1.00
##  Residual                        10.35079 3.2173        
## Number of obs: 146, groups:  year, 10; SPECIES_COMMON_NAME, 10
## 
## Fixed effects:
##                    Estimate Std. Error t value
## gearBOTTOM TRAWL    10.4910     0.6392  16.414
## gearHOOK AND LINE    6.8688     0.7043   9.752
## gearMIDWATER TRAWL   9.5041     0.6470  14.689
## gearTRAP             8.4829     1.3720   6.183
## gearUNSPECIFIED      4.8281     0.9209   5.243
## covid                0.1203     0.9989   0.120
## 
## Correlation of Fixed Effects:
##             gBOTTT gHOOAL gMIDWT grTRAP gUNSPE
## gHOOKANDLIN  0.377                            
## gMIDWATERTR  0.369  0.351                     
## gearTRAP     0.162  0.189  0.129              
## gUNSPECIFIE  0.266  0.225  0.256  0.130       
## covid       -0.175 -0.256 -0.279 -0.026 -0.037
## convergence code: 0
## boundary (singular) fit: see ?isSingular